/* 
 * File:   Arquivo.h
 * Author: Pedro
 *
 * Created on 13 de Agosto de 2010, 08:56
 *
 * Cabeçalho da classe Arquivo.
 * Esta classe manipula o arquivo e encapsula métodos para aproveitar a legibilidade no código.
 */

#ifndef ARQUIVO_H
#define	ARQUIVO_H
#include <cstdlib>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include "Lexema.h"
using namespace std;

namespace Texto {

    class Arquivo {
    public:
        
        bool  AbrirArquivo();
        char   lerCaracter();
        string lerLinha();
        Lexema* RetornaProximoLexema();
        string RetornaProximoLexemaString();
        string getNomeArquivo();
        bool   fimDoArquivo();
        int getNumLinha();
        Arquivo(string nome);
        Arquivo(const Arquivo& orig);
        virtual ~Arquivo();
    private:
        string nome;
        ifstream handler;
        int NumLinha;
    };

}

#endif	/* ARQUIVO_H */

